Copyright: Copyright ® 1995, Performance Designs


Contents
COMt 2.0 Table of Contents

General

Overview

License and Warranty

Getting Technical Help

Using COMt

COMt Main Window

Preferences Dialog

Application Notes

Frequently Asked Questions

Installation

System Requirements

Installation and Configuration

Using the COMMT.DRV Boot-Time Driver

Features

Hayes-Compatible Modem Emulation

Auto Answer

Auto Initialization

Using COMt with Network Modems

Registration

Registration Dialog

Registration

Pricing

Registration Form Dialog


Overview

Thank you for using COMt, the Telnet Modem for Windows!  COMt is the perfect solution to underpowered Windows Telnet client programs.  COMt allows you to use your favorite Windows communications program (i.e., Procomm Plus for Windows, Crosstalk for Windows, etc.) to communicate over TCP/IP.

COMt does this by installing itself  ahead of the standard Windows COMM driver (comm.drv), and intercepts accesses to the COM ports of your choosing, routing them to TCP/IP.  Requests to access other ports are passed on to the original COMM driver, allowing you to continue to use those devices.

COMt also emulates a Hayes-compatible modem, so your existing Windows communications programs will have no trouble interfacing to TCP/IP.

In addition, COMt can also be used to access network modems, assuming you have modems available via a TCP connection.  See Using COMt with Network Modems for more details.

What's New in 2.0:

•	Updated user-interface, making configuration easier.

•	Support for Windows 3.x (Win16) applications under Windows NT.

•	Support for incoming Telnet connections, allowing BBS and other software to accept calls over TCP/IP.  This feature is supported through the standard Hayes-compatible S0 register.

•	Choice of loading COMt at boot time or dynamically.


System Requirements

In order to use COMt, you need an IBM-PC compatible system with the following:

•	Windows 3.1, Windows for Workgroups 3.x, Windows 95, or Windows NT 3.x

•	286 processor or above

•	4 meg RAM

•	1 meg free disk space

•	WINSOCK 1.1-compliant TCP/IP software


License and Warranty

COMt is copyright (C) 1994-5 by Performance Designs.

Installation of COMt on your computer system implies agreement with the terms and conditions below.

COMt is distributed as Shareware.  It is not free, freeware, or in the public domain.   Non-registered users are granted a limited license to use COMt on an evaluation basis for thirty days, for the purpose of determining whether COMt is suitable for their needs.  Use of COMt, except for this limited purpose, requires registration.  Use of non-registered copies of COMt by any person, business, corporation, governmental agency or other entity institution is strictly forbidden.

Registration grants to the user the rights and limitations set forth by the End-User Agreement. Please read the agreement carefully before registering.

No user may modify COMt in any way, including but not limited to decompiling, disassembling or otherwise reverse-engineering the program.

All users are granted a limited license to copy the SHAREWARE version of COMt only for the trial use of others subject to the above limitations, and also the following:

•	COMt must be copied in unmodified form, complete with the file containing this license information.

•	The provided COMt documentation must be included with the copy.  No fee, charge or other compensation may be accepted or requested by any licensee.

Operators of electronic bulletin board systems may post the SHAREWARE version of COMt for downloading by their users only as long as the above conditions are met.  Shareware catalog businesses are welcome to post COMt in their catalog listings.

End-User Agreement

SOFTWARE LICENSE AGREEMENT FOR "COMT 2.0" OF PERFORMANCE DESIGNS.

PERFORMANCE DESIGNS ("LICENSOR") IS WILLING TO LICENSE THE PROVIDED SOFTWARE TO YOU ONLY IF YOU ACCEPT ALL OF THE TERMS IN THIS LICENSE AGREEMENT.  PLEASE READ THE TERMS CAREFULLY BEFORE YOU REGISTER THIS SOFTWARE, BECAUSE BY REGISTERING THIS SOFTWARE YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO THESE TERMS, LICENSOR WILL NOT LICENSE THIS SOFTWARE TO YOU, AND IN THAT CASE YOU SHOULD IMMEDIATELY CEASE USE OF THE SOFTWARE, DESTROYING ANY AND ALL COPIES YOU HAVE MADE OF THE SOFTWARE.

Ownership of the Software

The enclosed Licensor software program ("Software") and the accompanying written materials are owned by Licensor and are protected by United States copyright laws, by laws of other nations, and by international treaties.

Grant Of License

Licensor grants to you the right to use one copy of the Software on a single computer. You may load one copy into permanent memory of one computer and may use that copy, or the enclosed diskettes, only on that same computer.

Restrictions on Use and Transfer

You may not copy the Software, except that (1) you may make one copy of the Software for backup or archival purposes, (2) you may transfer the Software to a single hard disk provided you keep the original solely for backup or archival purposes. You may not copy the written materials.

You may permanently transfer the Software and any accompanying written materials (including the most recent update and all prior versions) if you retain no copies and the transferee agrees to be bound by the terms of this Agreement. Such a transfer terminates your license. You may not rent or lease the Software or otherwise transfer or assign the right to use the Software, except as stated in this paragraph.

You may not reverse engineer, decompile, or disassemble the Software.

Limited Warranty

Licensor warrants that the Software will perform substantially in accordance with the accompanying written materials for a period of 90 days from the date of your receipt of the Software. Any implied warranties on the Software are limited to 90 days. Some states do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.

LICENSOR DISCLAIMS ALL OTHER WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT, WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING WRITTEN MATERIALS. This limited warranty gives you specific legal rights. You may have others, which vary from state to state.

LICENSOR'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL BE, AT LICENSOR'S CHOICE, EITHER (A) RETURN OF THE PRICE PAID OR (B) REPLACEMENT OF THE SOFTWARE THAT DOES NOT MEET LICENSOR'S LIMITED WARRANTY AND WHICH IS RETURNED TO LICENSOR WITH A COPY OF YOUR RECEIPT. Any replacement Software will be warranted for the remainder of the original warranty period or 30 days, whichever is longer. These remedies are not available outside the United States of America.

This Limited Warranty is void if failure of the Software has resulted from modification, accident, abuse, or misapplication.

IN NO EVENT WILL LICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY LOSS OF PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF YOUR USE OR INABILITY TO USE THE SOFTWARE. Because some states do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.

This Agreement is governed by the laws of the State of Massachusetts.

If you have any questions concerning this Agreement or wish to contact Licensor for any reason, please write:

Performance Designs

P.O. Box 1005

Concord, MA 01742

U.S. Government Restricted Rights. The Software and documentation are provided with Restricted Rights. Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1)(ii) and (2) of Commercial Computer Software - Restricted Rights at 48 CFR 52.227-19, as applicable. Supplier is Performance Designs, P.O. Box 1005, Concord, MA 01742.

See also:

Registration


Getting Technical Help

Technical support for COMt is available via email.  You can reach us at one of the following email addresses:

CompuServe:	73017,1375

MCI Mail:	572-1706

GEnie:	PERFORM.DES

Internet:	comt@world.std.com

Before requesting help, please see the Frequently Asked Questions list.  If your problem is not described there, feel free to submit your request via email and we will get back to you as soon as possible.

Updates:

You can always find the latest release of COMt available either in the WINETA forum of CompuServe, or via anonymous-ftp from the following address:

ftp://ftp.std.com/customers/software/rfdmail/comt.zip

See also:

Application Notes

Installation and Configuration


Installation and Configuration

Installing COMt:

COMt comes with an automated installation utility.  To use this utility, simply copy the distribution files to a floppy or temporary directory, then double-click on the install.exe file from the Windows File Manager.

Once INSTALL starts, you will be given the opportunity to read the readme.txt file.  Then you will be asked to choose a directory to install the COMt files.  Enter a directory name or just press OK to keep the default of c:\comt.  INSTALL will then copy the distribution files to the directory of your choosing.

Once all the files have been copied, you will be given the opportunity to allow INSTALL to create Program Manager icons.  This is recommended.  Once the icons are created, you will be presented with a dialog allowing you to decide whether or not you wish the COMMT.DRV boot-time driver to be installed.  If you are installing from Windows NT you will not have this option.  To decide which COMt configuration is best for you, see Using the COMMT.DRV Boot-Time Driver.  Note that you can configure COMt to install or uninstall the driver at a later time.

This completes the installation.  To begin using COMt, simply run the comt.exe program.  If you opted to install the boot-time driver, you will need to restart Windows before the driver is available.

Configuring COMt:

You can configure COMt to provide Telnet connections on up to eight COM ports (COM1-8).  To configure COMt, simply double-click the COMt icon from the Windows Program Manager.  The COMt Main Window will appear, which allows you to individually enable or disable COM ports 1-8 for use as Telnet Ports.  A port that has been enabled means that COMt will intercept accesses to that port and redirect them to TCP/IP.  A port that has been disabled means that COMt will allow access to the underlying hardware port.  You can also configure ports with an automatic init string and a host for auto-connection.  See the COMt Main Window for more details.

Notes on selectiong COM ports.  It is highly recommended that you enable all port numbers which you are not using. This gives you the maximum number of simultaneous Telnet connections possible.  There does not need to be a physical port for a particular COM device in order to use it for Telnet connections.  In fact, you should not enable ports which do have devices attached (i.e., a modem) as you will be unable to access that device while COMt is installed.  If you have a serial mouse connected to a COM port, you will be unable to use that port number for COMt if you opt to use the boot-time driver.

Notes on COM5-8.   As mentioned earlier, COMt is able to provide Telnet connections on the ports COM1 through COM8.  Unfortunately, most programs only allow you to select COM1-COM4.   Newer programs (such as Procomm Plus for Windows 2.x)  will allow you to specify higher ports, allowing you a higher number of concurrent telnet sessions.

Notes on COM3-4.  On some machines you may run into problems when redirecting COM3 and COM4. Certain terminal programs (Procomm Plus for Windows in particular) try to be intelligent about which ports can be accessed without causing hardware conflicts, and may either give unnecessary warnings or refuse to access the port altogether.  To overcome this type of problem, add the following lines to the [386Enh] section of the system.ini file:

COM3Irq=11

COM3Base=3E8

COM4Irq=15

COM4Base=2E8

IMPORTANT: If any of the above lines already exists in the [386Enh] section of the system.ini file, especially if you have real hardware attached to COM3 and/or COM4, do not replace them with the above lines.  Doing so may cause you to be unable to access the physical port.  If after adding the above lines the problem is not rectified, you may find that it's necessary to adjust the numbers given above.

See also:

Using COMt

Overview


Using the COMMT.DRV Boot-Time Driver

When run under Windows 3.x or Windows 95, COMt can be used in one of two ways.  The first way is the "dynamically loaded" technique, whereby you have access to COMt's capabilities by running the comt.exe program.  The second way is the "boot-time driver" technique, whereby a device driver (commt.drv) is loaded at Windows startup, giving you access to COMt's capabilities at all times.  Under Windows NT 3.x, you will only be able to use the former technique.

You will be asked at installation time whether or not you wish to load the boot-time driver.  Please read this topic to determine which technique is best for you.  Note that you can load or unload the boot-time driver at any time later on.

Dynamically Loaded COMt:

When using COMt with this technique, COMt has no affect on your system until you run the comt.exe program.  So until you run this program, your comm applications will not be able to make use of your enabled COMt ports.  While it is running you can make full use of those ports; when you shut it back down they will become unavailable.  The advantages of this technique are as follows:

•	There is zero overhead while comt.exe is not running.

•	Your system.ini and Windows startup configuration is unaffected.

•	It is compatible with a wider range of third-party comm.drv replacements.

•	It is compatible with Windows NT.

The disadvantages of this technique are as follows:

•	In order to use enabled COMt ports, you need to remember to run the comt.exe program.

•	When comt.exe is running. the overhead on both enabled and disabled ports is higher than the boot-time technique.

Boot-Time COMt:

When using COMt with this technique, COMt is loaded at Windows startup, and hence is always available.  You only need to run the comt.exe program when you wish to reconfigure the ports or watch the current status of the ports.  The advantages of this technique are as follows:

•	You do not need to remember to run the comt.exe program in order to use enabled COMt ports, .

•	The memory overhead is lower since you do not need to have comt.exe running.

•	The overhead on enabled ports is lower than what the comt.exe program imposes.

The disadvantages of this technique are as follows:

•	You may run into compatibility problems with certain third-party comm.drv replacements.

•	There is always a small overhead on disabled ports.

•	It is not compatible with Windows NT.

•	Your system.ini and Windows startup configuration are altered to accommodate loading commt.drv at Windows startup time.

Recommendations:

If you are running Windows NT then you do not have a choice in the matter, you need to use the Dynamically Loaded COMt.  If you are using one of the other operating systems, then we recommend initially trying out COMt using the Dynamically Loaded technique.  If you find that you are using COMt regularly you can opt to install the boot-time driver later using the appropriate File Menu option.

See also:

Installation and Configuration


Using COMt

To use COMt, simply run the comt.exe program (not necessary if you are using the boot-time driver). Then simply instruct your communications program (such as Windows Terminal) to use one of the COM ports you enabled to access Telnet.  Since COMt emulates a Hayes-compatible modem, configure your application to use one of the Hayes Smartmodem, OPTIMA, or ULTRA modems.  For the communications parameters, set the connection to any baud rate, with 8 bits, No Parity, and 1 stop bit.

Phone Number

For a phone number, you can specify either the actual IP address of the host to which you wish to connect (i.e., 13.104.22.1) or the name of the host (i.e., world.std.com).  Note that by using a hostname, some terminal programs may try to out-smart you by substituting the Touch-Tone equivalents for each letter in the hostname (Windows Terminal does this).  In this case you will need to use the IP address rather than the hostname.  If you find that this still results in an incorrect dialing (some programs will even strip out the periods in the IP address), you should change the IP address such that you remove all the periods and expand each number to three digits.  For example, the address 13.104.22.1 would be changed to 013104022001.  Also, if your hostname begins with "t" or "p", you may need to insert either a space or a comma in front of the name in order for it to work properly.

If you wish to connect to a port on the remote host other than the Telnet port (port number 23), simply add the port number in brackets after the IP address.  For example, specifying a phone number of 123.456.222.111[25] will connect you to the SMTP server on that host.

Terminal Emulation

If you want your remote host to automatically recognize a particular terminal emulation, add a section to your modem initialization string which reads  S1000="terminal", where terminal  is the terminal type you are using. See the Hayes-Compatible Modem Emulation section for more details on S-registers.

Baud Rate

You can specify any baud rate for the Telnet port, but you should be aware that COMt will inform the remote Telnet server of the baud rate you chose.  For this reason, you should choose either a very high baud rate (i.e., 38400 or 57600) for TCP connections through a network or the actual baud rate you are using for your SLIP or PPP connection.

See also:

Installation and Configuration


Hayes-Compatible Modem Emulation

In order to work as seamlessly as possible with standard modem-oriented programs, COMt provides a Hayes-compatible modem emulator.  If your application allows to you select a modem type, select one of the Hayes Smartmodem, OPTIMA, or ULTRA modems.  This will ensure that the program initializes and dials the modem emulator properly.

The modem emulator supports the standard "AT" command set.  Most AT commands are ignored, as they only have relevance when controlling a real modem.  The AT commands which are acted upon are listed in the next section.

Modem Emulator AT Command Set:

D -- Dial Command

This command instructs the modem emulator to attempt to establish a connection to the named-host or IP address following the D command.  This works similarly to a modem, except that a network address is specified instead of a phone number.  The "T" and "P" (tone or pulse) modifiers are allowed to follow the D command, and they are simply ignored.  The modem emulator attempts to connect to the specified host, returning a CONNECT response string on success or NO CARRIER upon failure.  If the connection fails, an additional error message beginning with WINSOCK: is output, providing more detail as to why the connection failed.  As with a normal modem, if you press any key while the connection attempt is in progress, the connection will be aborted and NO CARRIER will be output.

 E0 or E1 -- Command-mode echo

This command enables or disables character echoing while the modem emulator is in "command mode" (i.e., accepting "AT" commands).  E1 enables echo and E0 disables echo.  The default is E1.

F0 or F1 -- Online echo

This command enables or disables character echoing while the modem emulator is in "online mode" (i.e., actually connected to a remote host).  F1 enables echo and F0 disables echo.  The default is F0.

H0 --  Go off-hook

This command is only valid when the modem emulator has established a connection, and causes the emulator to close the current connection.

O -- Return to online mode

This command is only valid when the modem emulator has established a connection, and causes the emulator to exit "command mode" and returns control of the serial line to the current Telnet connection.

Sr=n -- Write to an S-register

This command writes a value n into the S-register numbered r.  The list of S-registers supported is listed later.  Any write to an unsupported S-register is simply ignored.

Sr? -- Query an S-register

This command outpus the current value of the S-register numbered r.  The list of S-registers supported is listed later.  Any write to an unsupported S-register causes the word ERROR to be output and parsing of the current command line is terminated.

W0, W1, W2 -- Negotiation progress messages

In addition to the CONNECT response string, this command can be used to enable the CARRIER, PROTOCOL, and COMPRESSION messages that are available with some MNP or v.42 modems.  W0 and W2 disables the extended progress messages, and W1 enables the CARRIER and PROTOCOL messages.  Note that any value other than zero in S95 will override this setting.  Also note that since no compression or transmission protocols are actually being used, they are always reported as NONE.  The default is W0.

Z -- Reset

This command resets the modem emulator to use the default settings, and will close any currently open connection.

&C0, &C1, &C2 -- Data Carrier Detect options

This command controls how the Data Carrier Detect (DCD) line is reported by the modem emulator. &C0 causes the emulator to always report the DCD line as ON.  &C1 causes the emulator to report the DCD line as OFF while there is no connection, is switched to ON immediately after the CONNECT message and OFF again when the connection is lost.  &C2 causes the emulator to report the DCD line as ON while there is no connection, and as OFF while a connection is being established, then ON again once the connection is made.  The default is &C1.

&D0, &D1, &D2, &D3 -- Data Terminal Ready options

The command controls how control of the Data Terminal Ready (DTR) line by an application is

interpreted by the modem emulator.  &D0 causes the emulator to ignore the DTR line.  &D1 causes an ON-to-OFF transition of the DTR line to simply put the emulator in command mode while maintaining any currently open connection.  &D2 or &D3 causes an ON-to-OFF transition of the DTR line to close any currently open connection (issuing a NO CARRIER response if one was open) and puts the emulator in comand mode.   The default is &D0.

&F -- Factory Defaults

This command acts exactly like the "Z" command.

&S0, &S1, &S2 -- Data Set Ready options

This command controls how the Data Set Ready (DSR) line is reported by the modem emulator.  &S0 causes the emulator to always report the DSR line as ON.  &S1 causes the emulator to report the DSR line as OFF while there is no connection opened, switches it to ON when attempting to open a connection, then OFF again once the connection is closed.  &S2 causes the emulator to report the DSR line as OFF while there is no connection opened, switches it to ON when a connection is opened, then OFF again once the connection is closed.   The default is &S0.

&V -- View current settings

This command displays the current settings being uses by the modem emulator.  A sample output (using the default settings) is shown below:

ACTIVE PROFILE:

E1 F1 W0 &C1 &D0 &S0

S0:000 S02:043 S03:013 S04:010 S05:008 S12:050 S95:000

S1000:000

S1001:002 S1002:000 S1003:001 S1004:001 S1005:003

S1006:000 S1007:243 S1008:023

Modem Emulator  S-registers:

S0 -- Auto-Answer Ring Count

This register, when set to a number greater than zero, enables support for incoming TCP/IP connections on the port specified by the S1008 register (listed later).  When an incoming connection is received, the modem emulator will output a single RING message followed by a CONNECT message.  At this point it will switch to online mode and the port will be connected to the other host.  See Auto-Answer for more details on how COMt handles incoming connections.  The default is zero (auto-answer disabled).

S2 -- Escape Sequence Character

This register holds the ASCII value of the escape character used in the escape sequence.  The escape sequence is defined by a period of silence (as defined in S12) followed by three escape characters followed by another period of silence.  This causes the modem emulator to switch from online mode to command mode while a connection is open.  The default is 43 (the "+" character).

S3 -- Carriage Return Character

This register holds the ASCII value of the character which is both understood and output for a carriage  return.  The default is 13.

S4 -- Line Feed Character

This register holds the ASCII value of the character which is both understood and output for a line feed. The default is 10.

S5 -- Backspace Character

This register holds the ASCII value of the character which is both understood and output for a  backspace. The default is 8.

S12 -- Escape Sequence Gaurd Time

This register holds the value of the silence period required when issuing an escape sequence, in 1/50th of a second increments.  The default value is 50 (1 second).

S95 -- Negotiation progress messages

This register, when set to anything other than zero, overrides the W setting in how the emulator reports connection progress.  Setting bit 2 of the register enables the CARRIER message.  Setting bit 3 of the register enables the PROTOCOL message.  Setting bit 5 of the register enables the COMPRESSION message.  The default is 0.

Modem Emulator extended S-registers:

For the purpose of setting Telnet-specific options, the modem emulator supports an extended set of  S-registers, numbered 1000 through 1005.

S1000 -- Terminal Type

This register is somewhat unique in that it can accept both a numeric and a string value.  By setting this register to a value other than zero, any Terminal-Type query by the remote Telnet server is answered with the current value of this register.  By setting this register to a string value (i.e., ATS1000="vt100") , the verbatim string is reported.  By setting this register to a numeric value (i.e., ATS1000=5), the numeric value (presumably a well-known terminal id) is reported.  The default is 0.

S1001 -- Interpret IAC characters

The Telnet protocol is based on an escape character (ASCII 255) known as the IAC character.  This register controls whether COMt will interpret and deliver these escape sequences.   Setting this register to 0 causes the client to treat the IAC character as any other.  Setting this register to 1 causes COMt to always interpret IAC. Setting this register to 2 causes COMt to interpret/ignore based upon the requested port number.  If a connection to port 23 is made (the default in the D command, and the standard Telnet server port), then IAC escapes are interpreted.  If a connection to any other port number is made (by using [nn] in the D command), then IAC characters are treated like any other.  The default is 2.

S1002 -- Request Binary Connection

The Telnet connection can be used either in Terminal and Binary modes.  This register controls whether or not a Binary connection is requested by COMt.  Setting this register to 0 causes COMt to never request a Binary connection.  Setting this register to 1 causes COMt to always request a Binary connection.  Setting this register to 2 causes COMt to request a Binary connection only if the port was opened using a byte length of 8 bits. The default is 0.

S1003 -- Telnet Echo

The Telnet server can be operated in either Echo and Non-Echo modes.  This register controls whether or not an Echo mode connection is requested by COMt.  Setting this register to 0 causes COMt to never request an Echo mode connection.  Setting this register to 1 causes COMt to always request an Echo mode connecton.  The default is 1.

S1004 -- Verbose Connection Failure

This register controls whether or not the additional WINSOCK: error message is reported before the NO CARRIER response.  Setting this register to 0 disables the WINSOCK message, and setting it to 1 enables the message.  The default is 1.

S1005 -- Carriage-Return Padding

The Telnet protocol specifies that all Carriage-Return characters (ASCII 13) which are sent without a Line-Feed character (ASCII 10) should be sent as "CR NUL" (ASCII 13 followed by ASCII 0).  Setting this register to 1 causes COMt to strip away any NUL character received which follows a Carriage-Return.  Setting this register to 2 causes COMt to add NUL characters to any outbound Carriage-Return which is not directly followed by a Line-Feed.  Setting this register to 3 enables both inbound and outbound translations, and setting it to 0 disables both.  Note that S1001 will override this setting, such that if IAC characters are not being processed, neither will CarriageReturn characters be processed.  The default is 3.

S1006 -- Deadlock Timer

This register takes a value from 0 to 100, which specifies (in 1/10ths of seconds) how often COMt should check for incoming data.  This is used to handle applications which cause deadlock by continually checking for incoming data from the modem without allowing Windows to process messages.  In particular, adding S1006=4 the modem init string in WinCIM 1.3.1 should eliminate the deadlock caused when WinCIM enters a forum when using COMt.

S1007 -- BREAK Handling

This register takes a value of zero, or a value from 243 through 248 inclusive.  When COMt sees a "break" request from the application, it either ignores it (if this register is set to zero) or sends an IAC byte followed by the value of this register.  This will be interpreted by the Telnet server according to the following table:

S1007	Interpretation

=====	=======================

 243	BRK (break)

 244	IP  (Interrupt Process)

 245	AO  (Abort)

 246	AYT (Are You There)

 247	EC  (Erase Character)

 248	EL  (Erase Line)

The default value is 243, the Break character.

S1008 -- Auto-Answer TCP/IP port number

This register takes a value from 0 to 65535, which specifies which TCP/IP port number to listen on when Auto Answer is enabled by register S0.  If the value is zero, Auto Answer is disabled regardless of the value of S0.  If the value is not zero, then setting S0 to a non-zero value will cause this COM port to listen for incoming connections on the specified TCP/IP port.  Note that the S1000 registers (except S1003) affect incoming as well as outgoing connections.  The default is 23, listen on the Telnet port.

See also:

Using COMt

Installation and Configuration


Auto Answer

You can configure COMt to accept incoming TCP/IP connections by setting the S0 register to a value other the zero, and setting S1008 to the desired TCP/IP port number.   When an incoming connection request is received, a single RING message is output, followed by a CONNECT message.  At this point data sent to the port will be received by the calling host machine.  To disconnect from the remote host, simply send the normal Hayes hangup sequence.  If the remote host disconnects first, a NO CARRIER message will be output.

Limitations:

COMt will only allow a single COM port to listen on a given TCP/IP port number at any given moment.  Attempts by other applications to configure COMt to listen on the same port will fail with an error message.  Furthermore, only one incoming connection can be serviced at a time for any given TCP/IP port number.  So if a remote host has already connected on port 23 then other hosts will find that the connection attempts to port 23 will fail until the other host disconnects.  This limitation is mostly due to the architecture of Winsock.

Other Issues:

Most of the other S100x registers will behave as expected for incoming connections.  For example, S1001 (in conjunction with S1008) will determine whether IAC parsing is assumed on an incoming connection.  S1002 will determine whether binary mode is requested upon connection.  S1005 will determine whether or not CR padding occurs, etc.

See also:

Hayes-compatible Modem Emulation


Auto Initialization

COMt supports an automatic initialization feature which allows you to specify a string to send to the modem emulator upon opening the port.   This can be used as a convenience feature, such that the modem emulator can be always initialized to a known state each time it is opened.

For example, to automatically initialize the modem emulator when COM3 is opened, set the Init String field in the COMt Main Window to a valid "AT" command string such as:

AT &C1 &D2 S1000="vt100"

That would enable DCD and DTR handling (as described in Hayes-Compatible Modem Emulation), and set the reported terminal to be "vt100" every time an application opens COM3.

See also:

Using COMt

Using COMt with Network Modems

Installation and Configuration


Using COMt with Network Modems

To a limited extent, COMt can be used to transparently access modems which have been exported via a TCP/IP network.

For example, let's assume that on a remote server (IP address 123.456.789.111) there is a modem which can be accessed by connecting to port 4006.  To cause an application to be automatically connected to that modem every time COM3 is opened, set the Auto Connect field of the COMt Main Window to read:

123.456.789.111[4006]

Please note: because the application will be unable to see the true status of the network modem's status lines, and will be unable to manipulate that modem's control lines, some applications may not work correctly when used in conjunction with this feature.

See also:

Using COMt

Auto Initialization

Installation and Configuration


Application Notes

Using WinCIM:

COMt can be made to work with CompuServe's WinCIM, although you either need WinCIM version 1.3 or the latest support files.  Of key importance is the ability to dial using the network setting of "Internet".  If that option is not available in your copy of WinCIM, you need to either upgrade to version 1.3 or obtain the latest support files from CompuServe.

To use COMt with WinCIM, change the Session Settings as follows:

Phone: compuserve.com

Baud Rate: 9600

Network: Internet

Connector: (one of the Telnet Modems)

In addition, set the Modem Control String as follows:

Initialize: AT&F &C1 &D2 S1005=1 S1002=1 S1006=4^M

Transferring Binary Files:

Transferring binary files through a Telnet connection can be extremely problematic, as the interpretation of Binary Mode and Carriage-Return padding is quite varied among Telnet implementations.  To get binary file transfer to work properly you may need to experiment with S1002 and S1005 to find the best settings.  On at least one SPARC-based telnet server, S1002=1 and S1005=0 works best with binary files, although many files will transfer fine with S1002=0 and S1005=3.  As noted above, S1005=1 and S1002=1 works best for the HMI protocol used by WinCIM.  You also might try switching to YMODEM protocol rather than ZMODEM protocol, as in some cases better results can be had using YMODEM.

Using Smartcom for Windows:

COMt can be made to work with Hayes' Smartcom for Windows, and to do so you need to either check the "Use reduced command set" box in the Modem Settings or configuring to use "Generic Hayes Compatible" for the modem type.  Failure to do so will prevent dialing using COMt.

Using COMit for Windows:

COMit has trouble dialing with COMt if you configure it to use 9600 or 19200 baud.  Instead use 38400 or 57600 baud.

Using Reflection:

Reflection uses its own datacom driver, bypassing COMt and the Windows COMM driver.  In order to get COMt to work with Reflection, issue the following command in the Reflection Command Window.:

SET ENHANCED-SERIAL-DATACOMM NO

See also:

Using COMt

Installation and Configuration

Frequently-Asked Questions


Frequently Asked Questions

Below is a list of common questions and problems related to COMt.  Please check this list if you are having trouble.  If your specific problem is not on the list, or the suggested solution does not work, please feel free to contact us at the Technical Support email address.  For more troubleshooting tips, see Application Notes

When I attempt to open an enabled COMt port, I get an error message.  What's wrong?

There are several potential causes of this problem.  Check to make sure that:

•	If you are not using the boot-time driver , make sure that the comt.exe program is running.

•	Make sure that your TCP/IP software is Winsock-compliant.  There should be a winsock.dll file somewhere on your machine.

•	If your TCP/IP software  is a dial-up configuration (i.e., a SLIP or PPP account), make sure that the software is loaded and that you are connected and logged into your SLIP or PPP provider.

When I attempt to open an enabled COMt port under Windows 95, I get an error message.  What's wrong?

COMt is only "visible" to Windows 3.x programs ("Win16" applications).  Newer "Win32" programs, such as the HyperTerminal program supplied with Windows 95, do not get the benefits of COMt.  There are currently no plans to address this problem.

When I attempt to open an enabled COMt port under Windows NT, I get an error message.  What's wrong?

Similarly to the above question, COMt is only "visible" to Windows 3.x programs ("Win16" applications).  Also, be sure that you have not checked the "Run in Separate Memory Space" option in the launch icon in Program Manager.  This applies both to the COMt icon and to any application icons for which you wish to use COMt ports.

When I attempt to open an enabled COMt port from a DOS box running under Windows, nothing happens.  What's wrong?

COMt only works for Windows apps.  COM port access for DOS apps is handled by a VxD, which is outside the scope of COMt's influence.

When I attempt to run COMt, I get the error message "Create fail for window, will now try non-BWCC windows".  What's wrong?

In certain installations, particularly some Windows 95 and Windows NT 3.51 installations, there appears to be a conflict with the BWCC.DLL library.  You should be able to continue to use COMt, you will simply not see the 3-D shading of some of the windows.  If you find the initial error bothersome you can run the COMT.EXE program with a command-line option of -nobwcc to force COMt to disable BWCC.DLL support.

When I attempt to "dial" a TCP/IP host, I see my terminal program dialling, but then it just sits there.  Why?

This usually a Winsock-related problem.  Check to make sure that:

•	If your TCP/IP software  is a dial-up configuration (i.e., a SLIP or PPP account), make sure that the software is loaded and that you are connected and logged into your SLIP or PPP provider,

•	Certain Winsock's are not 100% compliant.  You can try checking the Force Synchronous Winsock Calls button in the Preferences dialog.  Netcom's NetCruiser 1.6 and Spry's Internet in a Box in particular have this problem.

•	Check to make sure that you have specified the correct hostname or IP address.

•	Check to make sure that you do not have more than one copy of the winsock.dll file on your machine.

When I connect to a host, I can login and type just fine, but if I try to transfer files, it doesn't work. What do I do?

Transferring files through a Telnet connection can be tricky.  See Application Notes for tips on overcoming these problems.

When I attempt to use WinCIM, I can connect to CompuServe, but then it locks up when I enter a forum.  How do I fix this?

You need to configure the Init String in WinCIM as described in the Application Notes for WinCIM.  If you are using Spry's Internet in a Box, you will not be able to use WinCIM over COMt due to conflicts between WinCIM and Spry's Winsock.

When I attempt to use WinCIM, I have trouble connecting to CompuServe, or once I connect I get timeouts and random disconnects.  Why?

Depending on where you are physically located, or the bandwidth of the connection between your site and CompuServe, network delays and packet latencies can cause problems with WinCIM's HMI Protocol.  You can try raising the "HMI Timeout" value in WinCIM, or simply try connecting later when the Internet delays are shorter.


File Menu

Load COMMT.DRV

Selecting this menu item causes the boot-time driver COMMT.DRV to be installed into the system.ini file.  You will need to restart Windows before this action has any effect.  This menu item is not available when running under Windows NT.

Unload COMMT.DRV

Selecting this menu item causes the boot-time driver COMMT.DRV to be uninstalled from the system.ini file.  You will need to restart Windows before this action has any effect.  This menu item is not available when running under Windows NT.

Exit

Selecting this menu item shuts down the program.  It is not advisable to shut down the program if there are any applications which have active COMt ports.

See also:

Using the COMMT.DRV Boot-Time Driver


Configure Menu

Preferences

Selecting this menu option displays a Preferences Dialog, which allows you to configure operation of COMt.


Help Menu

Register COMt...

Selecting this menu item displays a Registration Dialog, which allows you to enter your registration code into the program.  See the Registration topic for more details.

Order COMt...

Selecting this menu item displays a Registration Form Dialog, which allows you to create and fill out a registration form.  See the Registration topic for more details.

About COMt...

Selecting this menu item displays the About Dialog for COMt.


COMt Main Window

(click on the area of the window where you need help)

Shortcuts:

 •	You can double-click a COM port to toggle its enabled/disabled status.

See Also:

Overview

Installation and Configuration


COM Port List

This listbox shows the available COM ports and their status.  Ports

may be marked with one or both of the following:

   	A green plus sign indicates that the port has been

enabled as a COMt Telnet Port.  If this sign is missing,

COMt allows applications access to the underlying

hardware port.

 	A blue star indicates that the port has been opened by

an application.  You will not be able to change the

enabled status of a port while it is open.


Auto Connect

Set this field to be the hostname (and optional port number)

of the TCP/IP host which you wish to have COMt immediately

connect to upon opening the port.  See

Using COMt with Network Modems for more details.


Enable Port
Enable

Check this box if you want this port to be a COMt Telnet Port,

allowing TCP/IP connections to be made through the port.


Disable Port
Disable

Check this box if you want this port to be available directly

to your applications, allowing them to access the underlying

hardware port without interference from COMt.


Init String

Enter the AT command string you want to be sent to the COMt

port immediately upon opening the port.  See Auto Initialization

for more details.


Preferences Dialog

The Preferences Dialog (available from the Configure menu) allows you to set configuration information for COMt.

(click on the area of the dialog where you need help)


Force Synchronous Winsock Calls

Check this box if you want to force COMt to use the "Synchronous"

Winsock calls for hostname resolution and connection.  Use this

feature only if you are having trouble when making connections.


Registration Dialog

The Registration Dialog (available from the Help menu) allows you to enter the registration information received after registering COMt.  See Registration for complete details on how to register COMt.

Licensor

Enter the value of the Licensor setting here as given in the registration letter received from Performance Designs.

Unlock Code

Enter the value of the Unlock Code setting here as given in the registration letter received from Performance Designs.


Registration

This program is shareware.  It is not free software.  If you obtained this copy either from a BBS or a friend, then you are using an UNREGISTERED copy.  You may run the program for an evaluation period of one month.  After this time if you wish to continue using the program you must register by filling out the Program Registration form and sending in the Registration Fee.  This will help guarantee that the program is well supported and enhanced in the future.  The shareware copy of COMt will present a registration reminder dialog on startup and on the first usage of a Telnet port.

How to Register:

The Program Registration process is automated, and can be done from within COMt.  To begin the registration, select the Help|Register COMt menu option.  This will bring up a Registration Form Dialog, where you enter your personal information (Name, Address, etc.) and payment information (Check, Credit Card, CompuServe).  Once you have correctly entered data into this dialog and pressed the OK button, a file called orderfrm.txt  will be created, and Windows Notepad will be launched with the contents of that file.  You may either print out and send the file via surface mail, or you may email the form to the Technical Support email address.

Registration Fee:

The cost to register COMt is $19.95, with an additional $1.00 sales tax for Massachusetts residents.  Performance Designs accepts VISA, MasterCard, check, money-order, and electronic payment on CompuServe.   Please see Pricing for details on quantity discounts, upgrades, site licenses and source agreements.

Paying by Check:

If you are paying by check (U.S. funds drawn on a U.S. bank, please),  you should print out the form and mail it with your payment to Performance Designs.  Upon receipt of the Registration Form, we will send your Unlock Code via U.S. Mail, and will also send it via email if you specified an email address.

Paying on CompuServe:

If you wish to pay on CompuServe, you may do so by typing go swreg at any "!" prompt, and looking up COMt under the keyword "COMT".   Simply fill out the registration request form online.  Once you've submitted your request the payment will be forwarded to Performance Designs and your CompuServe account will be billed.  Please note that this step is seperate from filling out the Registration Form Dialog from within COMt, and unless you submit payment in the SWREG area you will not be able to register COMt.

Paying by Credit Card:

If you wish to pay by MasterCard or VISA, you can either print out and mail the order form, or you can email the form to one of the Technical Support addresses.  Note that the order form will have both an encrypted and unencrypted version of your credit card number.  It is highly recommended that you delete the line which contains the unencrypted card number if you are sending the order form through electronic mail.  Please do not change the information on the form in any other way as this may cause us to be unable to decrypt the card number.

Completing the Registration:

Once you have received your Unlock Code, select the Help|Register COMt menu option, and enter the Unlock Code into the Registration Dialog.  Once you have entered the correct information, the initial registration reminder dialog will be disabled, and your copy of COMt is now officially registered.

Updates:

Registering the program grants you a license to all 2.x versions of COMt.  Your Unlock Code is guaranteed to work for all versions before 3.0.  Updates can be obtained via standard shareware distribution channels and you are free to install and use those updates on all computers for which you have a valid COMt 2.x license.  Send email to the Technical Support address for more information.

See also:

Registration Form Dialog

Registration Dialog

Pricing


Pricing

All prices are effective July 1, 1995 through December 31, 1995 and are subject to change without notice.

Unit Price:

A single-machine license for COMt is U.S. $19.95 plus 5% Massachusetts sales tax (for Massachusetts residents only).

Quantity Discounts:

The quantity discount schedule is as follows:

Quantity	Disc	Per Unit

1-9	none	$19.95

10-19	15%	$17.00

20-49	25%	$15.00

50-99	35%	$13.00

100-499	45%	$11.00

>500	55%	$ 9.00

Site Licenses

The price for a quantity-independent site license is U.S. $7,000.  Contact Technical Support for more information on the specifics of site license agreements.

Source and Redistribution Agreements:

Limited Source and Redistribution Agreements are available.  Contact Technical Support for pricing and specifics on these type of license agreements.

Upgrades:

The fee for upgrading a single-machine license from COMt 1.x to COMt 2.x is U.S. $9.95 plus 5% Massachusetts sale tax (for Massachusetts residents only).  Upgrades in quantities are as follows:

Quantity	Per Unit

1-9	$ 9.95

10-19	$ 7.50

20-49	$ 6.50

50-99	$ 5.50

100-499	$ 4.50

>500	$ 3.50

The fee for upgrading a COMt 1.x site license to 2.x is $2,500.  Users who registered single-machine licenses for COMt 1.x (or in specific quantity) after June 1, 1995 may upgrade at no charge.

See also:

Registration


Registration Form Dialog

The Registration Form Dialog (available from the Help menu) allows you to create an order form which you can submit to register COMt.  See the Registration topic for complete details on how to register COMt.

(click on the area of the dialog where you need help)

See also:

Registration


Name

Enter your first and last name in this field.


Company

(optional) Enter the name of your Company in this field

if this copy of COMt is being registered for business use.


Address

Enter up to three lines of postal address information in this field.


Phone

(optional) Enter your daytime telephone number in this field.  Be

sure to include area code and country code (if applicable).


Email Address

(optional) Enter your email address in this field.  If the

address is not an Internet address, enter the appropriate

service in the Type field.


Check

Select this button if you plan to submit the

registration fee via check or money order.


CompuServe

Select this button if you plan to submit the registration fee via

the SWREG area of CompuServe.  Note that you will need to

manually sign onto CompuServe and go into the SWREG

area to actually submit payment.


MasterCard

Select this button if you plan to submit the

registration fee via MasterCard.   You will

also need to fill in the credit card fields below.


VISA

Select this button if you plan to submit the

registration fee via VISA.   You will also

need to fill in the credit card fields below.


Card Number
Card Number / Expiration Date

If you're paying by credit card, you need to fill in the

card number and expiration date in these two fields.